package server.demo.dto;

import java.time.LocalTime;
import java.math.BigDecimal;

/**
 * 换乘路线DTO
 */
public class TransferRouteDTO {
    private TrainDTO firstTrain;     // 第一段车次
    private TrainDTO secondTrain;    // 第二段车次
    private Long transferStationId;  // 中转站ID
    private String transferStationName; // 中转站名称
    private LocalTime transferWaitTime; // 中转等待时间
    private Integer totalDuration;   // 总耗时（分钟）
    private BigDecimal totalPrice;   // 总价格

    // 构造函数
    public TransferRouteDTO() {}

    public TransferRouteDTO(TrainDTO firstTrain, TrainDTO secondTrain, 
                           Long transferStationId, String transferStationName,
                           LocalTime transferWaitTime, Integer totalDuration, BigDecimal totalPrice) {
        this.firstTrain = firstTrain;
        this.secondTrain = secondTrain;
        this.transferStationId = transferStationId;
        this.transferStationName = transferStationName;
        this.transferWaitTime = transferWaitTime;
        this.totalDuration = totalDuration;
        this.totalPrice = totalPrice;
    }

    // Getter 和 Setter
    public TrainDTO getFirstTrain() {
        return firstTrain;
    }

    public void setFirstTrain(TrainDTO firstTrain) {
        this.firstTrain = firstTrain;
    }

    public TrainDTO getSecondTrain() {
        return secondTrain;
    }

    public void setSecondTrain(TrainDTO secondTrain) {
        this.secondTrain = secondTrain;
    }

    public Long getTransferStationId() {
        return transferStationId;
    }

    public void setTransferStationId(Long transferStationId) {
        this.transferStationId = transferStationId;
    }

    public String getTransferStationName() {
        return transferStationName;
    }

    public void setTransferStationName(String transferStationName) {
        this.transferStationName = transferStationName;
    }

    public LocalTime getTransferWaitTime() {
        return transferWaitTime;
    }

    public void setTransferWaitTime(LocalTime transferWaitTime) {
        this.transferWaitTime = transferWaitTime;
    }

    public Integer getTotalDuration() {
        return totalDuration;
    }

    public void setTotalDuration(Integer totalDuration) {
        this.totalDuration = totalDuration;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }
}